Non-modal Toolbar Control

ABSTRACT

Non-modal toolbar control techniques are described. In one or more implementations, techniques are described for controlling output by one or more computing devices of a toolbar with content in a user interface in a manner that supports non-modal interaction with both the toolbar and the content. Display of the user interface is caused by the one or more computing devices, the user interface including a simultaneous display of the toolbar along an edge of the user interface adjacent to and not overlapping the content. The toolbar includes a representation of a task and a plurality of parameters associated with the task. Selection is detected by the one or more computing devices of one or more of the plurality of parameters via the user interface. Selection is also detected of the representation of the task subsequent to the selection of the one or more parameters. Responsive to the selection of the representation, the task is performed on the content by the one or more computing devices using the selected ones of the plurality of parameters.

BACKGROUND

Users have access to a multitude of tasks when interacting withapplications. For example, a document viewing application may includetasks relating to extraction of pages, insertion of pages, replacementof pages, and so on. Additionally, each of these tasks may be aplurality of properties used to define the tasks, such as to delete orextract pages separate for an extract pages task.

Conventionally, however, users are given access to specify theseproperties and initiate performance of these tasks through use of amodal menu. The menu, for instance, may be configured as a “pop up” menuthat is displayed over the content. To dismiss the menu, a user isforced in conventional techniques to initiate performance of the task orcancel the task. Accordingly, these conventional techniques interferedwith the output of the content and necessitated user interaction toremove, which could be frustrating to users.

SUMMARY

Non-modal toolbar control techniques are described. In one or moreimplementations, techniques are described for controlling output by oneor more computing devices of a toolbar with content in a user interfacein a manner that supports non-modal interaction with both the toolbarand the content. Display of the user interface is caused by the one ormore computing devices, the user interface including a simultaneousdisplay of the toolbar along an edge of the user interface adjacent toand not overlapping the content. The toolbar includes a representationof a task and a plurality of parameters associated with the task.Selection is detected by the one or more computing devices of one ormore of the plurality of parameters via the user interface. Selection isalso detected of the representation of the task subsequent to theselection of the one or more parameters. Responsive to the selection ofthe representation, the task is performed on the content by the one ormore computing devices using the selected ones of the plurality ofparameters.

In one or more implementations, a system includes one or more computingdevices having a display device, a processing system and a memoryconfigured to maintain a toolbar control module that is executable bythe processing system to perform one or more operations. The operationsinclude display of a user interface by the display device, the userinterface including a simultaneous display of a first toolbar along anedge of the user interface adjacent to and not overlapping content andcausing display of a secondary toolbar adjacent to the first toolbar andnot overlapping the content responsive to selection of an option in thefirst toolbar. The operations also include causing display of a tertiarytoolbar adjacent to the secondary toolbar and not overlapping thecontent responsive to selection of an option relating to a task to beperformed, the tertiary toolbar including a representation of the taskthat is selectable to cause performance of the task and a plurality ofparameters associated with the performance of the task and responsive tothe selection of the representation, performing the task on the contentusing selected ones of the plurality of parameters.

In one or more implementations, a system includes one or more computingdevices having a display device, a processing system and a memoryconfigured to maintain a toolbar control module that is executable bythe processing system to perform one or more operations. The operationsinclude displaying a user interface by the display device, the userinterface including a simultaneous display of the toolbar along an edgeof a user interface adjacent to and not overlapping content of the userinterface and managing the user interface such that non-modalinteraction is permitted with both the content and the toolbar duringthe display of the toolbar.

This Summary introduces a selection of concepts in a simplified formthat are further described below in the Detailed Description. As such,this Summary is not intended to identify essential features of theclaimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.Entities represented in the figures may be indicative of one or moreentities and thus reference may be made interchangeably to single orplural forms of the entities in the discussion.

FIG. 1 is an illustration of an environment in an example implementationthat is operable to employ non-modal toolbar techniques described herein

FIG. 2 depicts a system in an example implementation of toolbar control.

FIG. 3 depicts a system in an example implementation of non-modalinteraction with a toolbar of FIG. 2.

FIG. 4 depicts a system in an example implementation in which non-modalnavigation between different items of content is shown.

FIG. 5 is a flow diagram depicting a procedure in an exampleimplementation in which techniques are described of controlling outputby one or more computing devices of a toolbar with content in a userinterface in a manner that supports non-modal interaction with both thetoolbar and the content.

FIG. 6 is a flow diagram depicting a procedure in an exampleimplementation in which control of a tertiary toolbar is described.

FIG. 7 illustrates an example system including various components of anexample device that can be implemented as any type of computing deviceas described and/or utilize with reference to FIGS. 1-6 to implementembodiments of the techniques described herein.

DETAILED DESCRIPTION

Overview

Conventional techniques to enable users to specify parameters that areto be used as part of performance of a task by a computing device reliedon modal menus that interfered with a display of content that is asubject of the task. For example, a modal dialog box may be used inconventional techniques that is displayed over a view of the content andin this way interfered with a user's interaction with the content.Further, because the dialog box is modal a user is forced inconventional techniques to interact with the dialog box and thus istaken away from a current usage context, even in instances in which thedialog box is output in error in order to dismiss the dialog box, whichis frustrating, inefficient, and interferes with a user's interactionwith the content.

Non-modal toolbar control techniques are described. In one or moreimplementations, a toolbar is controlled by a computing device that doesnot obstruct a user's view and keeps the user in an original context.Thus, the toolbar is non-modal in that a user is not navigated away froma current usage context (e.g., using different interaction modes such asin the conventional dialog box above) and thus permits a user to freelyinteract with the toolbar and portions outside the toolbar.

The toolbar, for instance, may be displayed along an edge of a userinterface, e.g., an edge of a window, display device, and so on. Whenoutput, content in the user interface is moved through use of ananimation such that the toolbar does not obstruct any portion of thecontent. Additionally, because the toolbar is non-modal, a user mayfreely interact with parameters included in the toolbar and even withthe content itself before committing to performance of a task. In thisway, efficient user interaction is supported with the user interface,further discussion of these and other examples is contained in thefollowing sections and is shown in corresponding figures.

In the following discussion, an example environment is first describedthat may employ the techniques described herein. Example procedures arethen described which may be performed in the example environment as wellas other environments. Consequently, performance of the exampleprocedures is not limited to the example environment and the exampleenvironment is not limited to performance of the example procedures.

Example Environment

FIG. 1 is an illustration of an environment 100 in an exampleimplementation that is operable to employ the non-modal toolbartechniques described herein. The illustrated environment 100 includes acomputing device 102, which may be configured in a variety of ways.

For example, a computing device may be configured as a computer that iscapable of communicating over a network, such as a desktop computer, amobile station, an entertainment appliance, a set-top boxcommunicatively coupled to a display device, a wireless phone, a gameconsole, and so forth. Thus, the computing device 102 may range fromfull resource devices with substantial memory and processor resources(e.g., personal computers, game consoles) to a low-resource device withlimited memory and/or processing resources (e.g., traditional set-topboxes, hand-held game consoles). Additionally, although a singlecomputing device 102 is shown, the computing device 102 may berepresentative of a plurality of different devices, such as multipleservers utilized by a business to perform operations such as by a webservice, a remote control and set-top box combination, an image capturedevice and a game console configured to capture gestures, and so on.

The computing device 102 is illustrated as including a variety ofhardware components, examples of which include a processing system 104,an example of a computer-readable storage medium illustrated as memory106, a display device 108, and so on. Other hardware components are alsocontemplated as further described in relation to FIG. 7. The processingsystem 104 is representative of functionality to perform operationsthrough execution of instructions stored in the memory 106. Althoughillustrated separately, functionality of these components may be furtherdivided, combined (e.g., on an application specific integrated circuit),and so forth.

The computing device 102 is further illustrated as including anoperating system 110. The operating system 110 is configured to abstractunderlying functionality of the computing device 102 to applications 112that are executable on the computing device 102. For example, theoperating system 110 may abstract processing system 104, memory 106,and/or display device 108 functionality of the computing device 102 suchthat the applications 112 may be written without knowing “how” thisunderlying functionality is implemented. The application 112, forinstance, may provide data to the operating system 110 to be renderedand displayed by the display device 108 or printer 116 withoutunderstanding how this rendering will be performed. The operating system110 may also represent a variety of other functionality, such as tomanage a file system and user interface that is navigable by a user ofthe computing device 102.

The application 112 is further illustrated as including a toolbarcontrol module 114. The toolbar control module 114 is representative offunctionality to manage a user interface 116, including display oftoolbars and control of tasks and parameters represented by thetoolbars. As illustrated in the user interface 116, for instance, afirst toolbar 118 is illustrated having representations of categories oftypes of tasks, e.g., Home, Tools, and Document. The first toolbar 118also includes representations of commonly-used tasks that may beinitiated directly from the menu bar 118, e.g., to save, print, email,and search as illustrated, through selection by a cursor control device(e.g., mouse), via a gesture, utterance, and so forth. The first toolbar118 is illustrated as displayed proximal to an edge of the userinterface 116, which in this instance corresponds to an edge of thedisplay device 118 and follows at least a majority of that edge. Otherexamples are also contemplated, such as to follow an edge of a windowdisplayed without the user interface 116.

Selection of one of the categories causes output of a first toolbar 118,e.g., “Document” in the illustrated example, causes output of asecondary toolbar 120 proximal to the first toolbar 118 that follows anedge formed by the first toolbar 118. The secondary toolbar 120 alsoincludes representations of tasks that are performable by the computingdevice 102. In this instance, however, one or more of the tasks areassociated with parameters that specify how the task is to be performedand thus are to be selected before performance of the task.

For example, a cursor is illustrated as selecting an option to “Extract”pages of a document. In response, a tertiary toolbar 122 is output. Thetertiary toolbar 122 includes representations of a plurality ofparameters that are selectable (e.g., via a gesture, cursor controldevice, and so on) to specify how the extraction task is to beperformed, e.g., “Delete Pages After” and “Extract Separate.” Thetertiary toolbar 122 also includes a representation 124 of the task thatis selectable to initiate performance of the task and also an option 126to close the tertiary toolbar 122. Other ways to close the tertiarytoolbar 126 are also contemplated, such as to treat the option of thesecondary toolbar 120 that caused display (e.g., a representation“Extract”) as a toggle to display or not display the tertiary toolbar122. In this way, a user may select one or more parameters associatedwith a task and then commit to performance of the task through selectionof the representation 124.

Additionally, control of the toolbars by the toolbar control module 114may be performed to support non-modal interaction. For example, ratherthan display the parameters and the representation of the task in amodal dialog box over a display of content 128, the tertiary toolbar 122may be displayed along an edge of the user interface 116 and proximal toother toolbars so as not to interfere with the display of the content128. In this way, a user remains in the context of the content 128 suchthat interaction with the content 128 may be performed while thetertiary toolbar 122 is displayed. This is unlike conventional modaldialog boxes that required manual interaction to remove display of thebox to access underlying content that is not accessible to a user whilethe box is displayed. Further description of non-modal toolbar controltechniques is discussed in the following and shown in correspondingfigures.

FIG. 2 depicts a system 200 in an example implementation of toolbarcontrol. The system 200 is illustrated using first and second stages202, 204. At the first stage 202, a user interface 116 is output by thedisplay device 108 that includes the first and secondary toolbars 118,120 as previously described in relation to FIG. 1. The secondary toolbar120 in this example is configured to organize pages in a document aspart of an application 112 configured for document viewing. Otherexamples are also contemplated, such as through implementation as aplugin module (e.g., for a browser), as part of the operating system110, a stand-alone application, and so on.

The user interface 118 also includes a portion 206 that displays content128 simultaneously with the first and secondary toolbars 118, 120. Thecontent 128 in this example includes representations (e.g., thumbnails)of pages of the document being viewed. Thus, the first and secondtoolbars 118, 120 are non-modal in that a user may choose to interactwith either of the toolbars or the content 128 without manual switchingbetween modes, e.g., as required in conventional overlaid dialog boxesas previously described. A cursor is illustrated as selecting an optionrelated to a task to extract pages from a document at the first stage202.

In response, the toolbar control module 114 of FIG. 1 causes display ofthe tertiary toolbar 122 that includes a plurality of parameters thatare selectable to specify how a corresponding task (e.g., extraction) isto be performed, e.g., to delete pages after extraction or extract thepages as separate files. The tertiary toolbar 122 also includes arepresentation 124 to initiate performance of the task as well as anoption 126 to close the tertiary toolbar 122.

As illustrated, display of the tertiary toolbar 122 causes resizing ofthe portion 206 of the user interface 116 used to display the content128. This may be performed in a variety of ways, such as through outputof an animation by the toolbar control module 114 to “slide the content128 downward” in the user interface. Other examples are alsocontemplated, such as shrining of a display size of the content 128. Inthis way, the output of the tertiary toolbar 122 does not obscure auser's view of the content 128.

FIG. 3 depicts a system 300 in an example implementation of non-modalinteraction with a toolbar of FIG. 2. The system 300 of FIG. 3 is alsoillustrated using first and second stages 302, 304. At the first stage302, the first, secondary, and tertiary toolbars 118, 120, 122 aredisplayed concurrently with content 128 in the user interface 116. Inthis example, a user employs a cursor control device to selectrepresentations of pages 306, 308, 310, 312 to be extracted from thedocument as part of the extraction task. In this way, the non-modalinteraction is supported through simultaneous display of the content 128and the toolbars without requiring a user to navigate away from thedisplay of the content and/or obscure portions of the content 128 asrequired in conventional modal dialog boxes.

The selection of the representations 306-312 of the pages remains at thesecond stage 304, in which a user also selects a parameter 314 “DeletePages After” and then selects the representation 124 of the task toinitiate performance of the task. Thus, in this example a user mayfreely interact with content 128 and the toolbars without switchingbetween modes of interaction and thus keeps a user in an originalcontext of the content 128 without change. This also permits a user tointeract with the content 128 to specify how the task is to be performedoutside of the toolbars in this example, which is not possible inconventional modal techniques that limited action to within the dialogbox.

It is also notable that the toolbars 118, 120, 122 are configurable tofollow a direction in which a user typically reads, e.g., left to rightin this example such that the user may read the parameters that areselectable, select them if desired, and then continue to the right toselect the representation to cause initiation of the task, e.g., committhe call to action. The non-modal interaction supported by the toolbarsmay also be utilized to permit navigation to different items of content,and example of which is described in the following and shown in acorresponding figure.

FIG. 4 depicts a system 400 in an example implementation in whichnon-modal navigation between different items of content is shown. Thesystem is shown using first and second stages 402, 404. At the firststage 402, first, secondary, and tertiary toolbars 118, 120, 122 aredisplayed in the user interface as previously described. Content 128involving a graphical analysis is displayed. A user then switches to afront-page of marketing material as shown in the second stage 404without dismissing the first, secondary, and tertiary toolbars 118, 120,122. In this way, a user may intuitively navigate between content andtasks supported by the toolbars in a non-modal manner, furtherdiscussion of which may be found in the following procedures and isshown in corresponding figures.

Example Procedures

The following discussion describes techniques that may be implementedutilizing the previously described systems and devices. Aspects of eachof the procedures may be implemented in hardware, firmware, or software,or a combination thereof. The procedures are shown as a set of blocksthat specify operations performed by one or more devices and are notnecessarily limited to the orders shown for performing the operations bythe respective blocks. In portions of the following discussion,reference will be made to FIGS. 1-4.

FIG. 5 depicts a procedure 500 in an example implementation in whichtechniques are described of controlling output by one or more computingdevices of a toolbar with content in a user interface in a manner thatsupports non-modal interaction with both the toolbar and the content.Display of the user interface is caused by the one or more computingdevices, the user interface including a simultaneous display of thetoolbar along an edge of the user interface adjacent to and notoverlapping the content, the toolbar including a representation of atask and a plurality of parameters associated with the task (block 502).As shown in FIG. 1, for instance, the toolbar control module 114 causesoutput of a tertiary toolbar 122 along an edge of the user interface 116formed by the first and secondary toolbars 118, 120.

Selection is detected by the one or more computing devices of one ormore of the plurality of parameters via the user interface (block 504).A user, for instance, may select a parameter “Delete Pages After” asshown in the second stage 304 of FIG. 3.

Selection is also detected of the representation of the task subsequentto the selection of the one or more parameters (block 506). Afterselection of the parameter, a user then selects the representation 124of the task “Extract” to commit performance of the task.

Responsive to the selection of the representation, the task is performedon the content by the one or more computing devices using the selectedones of the plurality of parameters (block 508), which in this case isto delete pages after extraction from a document. A variety of otherexamples are also contemplated.

FIG. 6 depicts a procedure 600 in an example implementation in whichcontrol of a tertiary toolbar is described. In this example, the systemincludes one or more computing devices having a display device, aprocessing system and a memory configured to maintain a toolbar controlmodule that is executable by the processing system to perform one ormore operations. The operations include displaying a user interface bythe display device, the user interface including a simultaneous displayof a first toolbar along an edge of the user interface adjacent to andnot overlapping content (block 602). As shown in FIG. 1, for instance, afirst toolbar 118 is displayed along an edge of the user interface 116that corresponding to an edge of the display device 108.

Display is caused of a secondary toolbar adjacent to the first toolbarand not overlapping the content responsive to selection of an option inthe first toolbar (block 604). Continuing with the previous example, auser may then select an option to organize pages, which causes output ofthe secondary toolbar 120 proximal to the first toolbar 118.

Display is caused of a tertiary toolbar adjacent to the secondarytoolbar and not overlapping the content responsive to selection of anoption relating to a task to be performed (block 606). The tertiarytoolbar includes a representation of the task that is selectable tocause performance of the task and a plurality of parameters associatedwith the performance of the task. The module, for instance, may detectexistence of the parameters and in response cause output of the tertiarytoolbar to have those parameters and a representation of the task toinitiate execution. A user may then select a task that is associatedwith parameters that specify how the task is to be performed.Accordingly, the toolbar control module 114 causes output of thetertiary toolbar 122 that includes these parameters and an option tocommit performance of the task by the computing device 102.

Responsive to the selection of the representation, the task is performedon the content by the one or more computing devices using selected onesof the plurality of parameters (block 608). As previously described,this permits non-modal interaction that does not interfere with displayof the content 128.

Example System and Device

FIG. 7 illustrates an example system generally at 700 that includes anexample computing device 702 that is representative of one or morecomputing systems and/or devices that may implement the varioustechniques described herein. This is illustrated through inclusion ofthe toolbar control module 114. The computing device 702 may be, forexample, a server of a service provider, a device associated with aclient (e.g., a client device), an on-chip system, and/or any othersuitable computing device or computing system.

The example computing device 702 as illustrated includes a processingsystem 704, one or more computer-readable media 706, and one or more I/Ointerface 708 that are communicatively coupled, one to another. Althoughnot shown, the computing device 702 may further include a system bus orother data and command transfer system that couples the variouscomponents, one to another. A system bus can include any one orcombination of different bus structures, such as a memory bus or memorycontroller, a peripheral bus, a universal serial bus, and/or a processoror local bus that utilizes any of a variety of bus architectures. Avariety of other examples are also contemplated, such as control anddata lines.

The processing system 704 is representative of functionality to performone or more operations using hardware. Accordingly, the processingsystem 704 is illustrated as including hardware element 710 that may beconfigured as processors, functional blocks, and so forth. This mayinclude implementation in hardware as an application specific integratedcircuit or other logic device formed using one or more semiconductors.The hardware elements 710 are not limited by the materials from whichthey are formed or the processing mechanisms employed therein. Forexample, processors may be comprised of semiconductor(s) and/ortransistors (e.g., electronic integrated circuits (ICs)). In such acontext, processor-executable instructions may beelectronically-executable instructions.

The computer-readable storage media 706 is illustrated as includingmemory/storage 712. The memory/storage 712 represents memory/storagecapacity associated with one or more computer-readable media. Thememory/storage component 712 may include volatile media (such as randomaccess memory (RAM)) and/or nonvolatile media (such as read only memory(ROM), Flash memory, optical disks, magnetic disks, and so forth). Thememory/storage component 712 may include fixed media (e.g., RAM, ROM, afixed hard drive, and so on) as well as removable media (e.g., Flashmemory, a removable hard drive, an optical disc, and so forth). Thecomputer-readable media 706 may be configured in a variety of other waysas further described below.

Input/output interface(s) 708 are representative of functionality toallow a user to enter commands and information to computing device 702,and also allow information to be presented to the user and/or othercomponents or devices using various input/output devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone, a scanner, touch functionality (e.g., capacitiveor other sensors that are configured to detect physical touch), a camera(e.g., which may employ visible or non-visible wavelengths such asinfrared frequencies to recognize movement as gestures that do notinvolve touch), and so forth. Examples of output devices include adisplay device (e.g., a monitor or projector), speakers, a printer, anetwork card, tactile-response device, and so forth. Thus, the computingdevice 702 may be configured in a variety of ways as further describedbelow to support user interaction.

Various techniques may be described herein in the general context ofsoftware, hardware elements, or program modules. Generally, such modulesinclude routines, programs, objects, elements, components, datastructures, and so forth that perform particular tasks or implementparticular abstract data types. The terms “module,” “functionality,” and“component” as used herein generally represent software, firmware,hardware, or a combination thereof. The features of the techniquesdescribed herein are platform-independent, meaning that the techniquesmay be implemented on a variety of commercial computing platforms havinga variety of processors.

An implementation of the described modules and techniques may be storedon or transmitted across some form of computer-readable media. Thecomputer-readable media may include a variety of media that may beaccessed by the computing device 702. By way of example, and notlimitation, computer-readable media may include “computer-readablestorage media” and “computer-readable signal media.”

“Computer-readable storage media” may refer to media and/or devices thatenable persistent and/or non-transitory storage of information incontrast to mere signal transmission, carrier waves, or signals per se.Thus, computer-readable storage media refers to non-signal bearingmedia. The computer-readable storage media includes hardware such asvolatile and non-volatile, removable and non-removable media and/orstorage devices implemented in a method or technology suitable forstorage of information such as computer readable instructions, datastructures, program modules, logic elements/circuits, or other data.Examples of computer-readable storage media may include, but are notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, harddisks, magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or other storage device, tangible media, orarticle of manufacture suitable to store the desired information andwhich may be accessed by a computer.

“Computer-readable signal media” may refer to a signal-bearing mediumthat is configured to transmit instructions to the hardware of thecomputing device 702, such as via a network. Signal media typically mayembody computer readable instructions, data structures, program modules,or other data in a modulated data signal, such as carrier waves, datasignals, or other transport mechanism. Signal media also include anyinformation delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media include wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media.

As previously described, hardware elements 710 and computer-readablemedia 706 are representative of modules, programmable device logicand/or fixed device logic implemented in a hardware form that may beemployed in some embodiments to implement at least some aspects of thetechniques described herein, such as to perform one or moreinstructions. Hardware may include components of an integrated circuitor on-chip system, an application-specific integrated circuit (ASIC), afield-programmable gate array (FPGA), a complex programmable logicdevice (CPLD), and other implementations in silicon or other hardware.In this context, hardware may operate as a processing device thatperforms program tasks defined by instructions and/or logic embodied bythe hardware as well as a hardware utilized to store instructions forexecution, e.g., the computer-readable storage media describedpreviously.

Combinations of the foregoing may also be employed to implement varioustechniques described herein. Accordingly, software, hardware, orexecutable modules may be implemented as one or more instructions and/orlogic embodied on some form of computer-readable storage media and/or byone or more hardware elements 710. The computing device 702 may beconfigured to implement particular instructions and/or functionscorresponding to the software and/or hardware modules. Accordingly,implementation of a module that is executable by the computing device702 as software may be achieved at least partially in hardware, e.g.,through use of computer-readable storage media and/or hardware elements710 of the processing system 704. The instructions and/or functions maybe executable/operable by one or more articles of manufacture (forexample, one or more computing devices 702 and/or processing systems704) to implement techniques, modules, and examples described herein.

The techniques described herein may be supported by variousconfigurations of the computing device 702 and are not limited to thespecific examples of the techniques described herein. This functionalitymay also be implemented all or in part through use of a distributedsystem, such as over a “cloud” 714 via a platform 716 as describedbelow.

The cloud 714 includes and/or is representative of a platform 716 forresources 718. The platform 716 abstracts underlying functionality ofhardware (e.g., servers) and software resources of the cloud 714. Theresources 718 may include applications and/or data that can be utilizedwhile computer processing is executed on servers that are remote fromthe computing device 702. Resources 718 can also include servicesprovided over the Internet and/or through a subscriber network, such asa cellular or Wi-Fi network.

The platform 716 may abstract resources and functions to connect thecomputing device 702 with other computing devices. The platform 716 mayalso serve to abstract scaling of resources to provide a correspondinglevel of scale to encountered demand for the resources 718 that areimplemented via the platform 716. Accordingly, in an interconnecteddevice embodiment, implementation of functionality described herein maybe distributed throughout the system 700. For example, the functionalitymay be implemented in part on the computing device 702 as well as viathe platform 716 that abstracts the functionality of the cloud 714.

CONCLUSION

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed invention.

What is claimed is:
 1. A method of controlling output by one or morecomputing devices of a toolbar with content in a user interface in amanner that supports non-modal interaction with both the toolbar and thecontent, the method comprising: causing display of the user interface bythe one or more computing devices, the user interface including asimultaneous display of the toolbar along an edge of the user interfaceadjacent to and not overlapping the content, the toolbar including arepresentation of a task and a plurality of parameters associated withthe task; detecting selection by the one or more computing devices ofone or more of the plurality of parameters via the user interface;detecting selection of the representation of the task subsequent to theselecting of the one or more parameters; and responsive to the selectionof the representation, performing the task on the content by the one ormore computing devices using the selected ones of the plurality ofparameters.
 2. A method as described in claim 1, wherein the causing isperformed to support non-modal user interaction with both the contentand the toolbar.
 3. A method as described in claim 1, wherein the userinteraction with the content is performable while the toolbar isdisplayed.
 4. A method as described in claim 1, wherein the userinterface further includes another toolbar and the toolbar is outputconcurrently with the other toolbar.
 5. A method as described in claim4, wherein the other toolbar includes an option that is user selectableto cause output of the toolbar.
 6. A method as described in claim 5,wherein the selection of the option to cause output of the toolbarcauses output of an animation that moves the content in the userinterface such that the toolbar does not obstruct display of thecontent.
 7. A method as described in claim 5, wherein the user interfacefurther includes a yet another toolbar having an option that is userselectable to cause output of the other toolbar.
 8. A method asdescribed in claim 7, wherein the causing display of the user interfaceincludes a hierarchical arrangement and simultaneous display of the yetanother toolbar, the other toolbar, and the toolbar.
 9. A method asdescribed in claim 1, wherein the user interface is a window and theedge is an edge of the window.
 10. A method as described in claim 1,wherein the user interface is displayed by a display device and the edgecorresponds to an edge of the display device.
 11. A system comprising:one or more computing devices having a display device, a processingsystem and a memory configured to maintain a toolbar control module thatis executable by the processing system to perform one or more operationscomprising: displaying a user interface by the display device, the userinterface including a simultaneous display of a first toolbar along anedge of the user interface adjacent to and not overlapping content;causing display of a secondary toolbar adjacent to the first toolbar andnot overlapping the content responsive to selection of an option in themenu bar; causing display of a tertiary toolbar adjacent to thesecondary toolbar and not overlapping the content responsive toselection of an option relating to a task to be performed, the tertiarytoolbar including a representation of the task that is selectable tocause performance of the task and a plurality of parameters associatedwith the performance of the task; and responsive to the selection of therepresentation, performing the task on the content using selected onesof the plurality of parameters.
 12. A system as described in claim 11,wherein the display of the tertiary toolbar along with the content isconfigured to permit selection of one or more of the plurality ofparameters and interaction with the content before committing to theperformance of the task through selection of the representation of thetask in the tertiary toolbar.
 13. A system as described in claim 11,wherein the user interface is a window and the edge is an edge of thewindow.
 14. A system as described in claim 11, wherein the userinterface is displayed by a display device and the edge corresponds toan edge of the display device.
 15. A system as described in claim 11,wherein the selection of the option to cause output of the tertiarytoolbar causes output of an animation that moves the content in the userinterface such that the tertiary toolbar does not obstruct display ofthe content.
 16. A system comprising: one or more computing deviceshaving a display device, a processing system and a memory configured tomaintain a toolbar control module that is executable by the processingsystem to perform one or more operations comprising: displaying a userinterface by the display device, the user interface including asimultaneous display of the toolbar along an edge of a user interfaceadjacent to and not overlapping content of the user interface; andmanaging the user interface such that non-modal interaction is permittedwith both the content and the toolbar during the display of the toolbar.17. A system as described in claim 16, wherein the display of thetoolbar along with the content is configured to permit selection of oneor more of a plurality of parameters and interaction with the contentbefore committing to the performance of the task through selection ofthe representation of the task in the toolbar.
 18. A system as describedin claim 16, wherein the user interface is a window and the edge is anedge of the window.
 19. A system as described in claim 16, wherein theuser interface is displayed by a display device and the edge correspondsto an edge of the display device.
 20. A system as described in claim 16,wherein selection of an option to cause output of the toolbar causesoutput of an animation that moves the content in the user interface suchthat the toolbar does not obstruct display of the content.